Generally, distributed service applications are hosted in cloud-computing networks (across various nodes) and are intended primarily to promote high availability through redundancy of service-application components, dynamic scalability, and auto-healing functionality. These service applications are often divided into portions that include a group of service-application components. These service-application components may be hosted throughout nodes (e.g., physical machines and virtual machines) of one or more data centers. Often, there exists a need to create or expand the computing/storage capacity of these data centers to accommodate usage demands of the service applications and to help ensure that an entire service application does not become unavailable due to lack of support for the underlying hardware.
Expansion of data centers may involve various scenarios, such as configuring a new set of hardware or reconfiguring an existing set of hardware to operate in concert with existing nodes within the data centers. In one example, a new set of racks that each accommodates a plurality of blades may be bootstrapped independently and optionally thereafter integrated within a fabric that interconnects data center nodes. It is important that the hardware in the new set of racks, for example, network device (L2/3 switches, routers), power and serial devices, and blades are properly provisioned—i.e., assembled and prepared using an automated process that limits human intervention.
When conducting an expansion of a data center, the steps for provisioning the new hardware for the data center are sometimes manually conducted. These manually conducted steps are often time-consuming, ineffective, and inconsistent in result, as such, potentially leading to waste of resources on new hardware that was not properly provisioned or cause delay when hardware components have to be replaced. Accordingly, an automated standalone process for bootstrapping that includes a provisioning workflow that discovers, validates, and configures a set of hardware would help achieve efficient and robust provisioning of hardware inventory.